<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of admin_category
 *
 * @author Administrator
 */
class admin_category extends CI_Controller {

    //put your code here
    function __construct() {
        parent::__construct();
        set_validation_error_delimiter();
    }

    function index() {
        $data['subtitle'] = 'Danh sách danh mục';
        $data['site'] = 'tp-admin/site/category/category-listview';
        $page = $this->uri->segment(4);
        if ($page <= 1)
            $page = 0;
        else
            $page = ($page - 1) * PAGE_SIZE;
        $category = $this->category_model->getCategories($page);
        $data['list'] = $category['list'];
        $total = $category['total'];

        $link = ADMIN_PAGE_CATEGORY;
        set_paging($link, $total, 4);
        $this->load->view('tp-admin/template', $data);
    }

    
    function add_category() {

        $data['subtitle'] = 'Thêm danh mục';
        $data['site'] = 'tp-admin/site/category/category-add';
        if ($this->input->post('submit') && $this->check_validation()) {
            $info = $this->post_input();
            $info['category_is_delete'] = 0;
            $info['category_id'] = generate_number_code(8);
            $info['category_name_segment'] = utf8_to_ascii($info['category_name'], '-');
            $info['category_tag'] = replace_space_to_dash($info['category_name'], ', ') . ', ' . replace_space_to_dash($info['category_name_segment'], ', ');
            $info['category_date'] = date('Y-m-d H:i:s');
            if ($this->category_model->checkExist($info['category_name']) > 0) {
                $this->session->set_userdata(array('error_msg' => 'Tên danh mục &quot;' . $info['category_name'] . '&quot; đã tồn tại'));
                redirect(current_url());
            }
            if ($this->category_model->addCategory($info)) {
                $data['success_msg'] = 'Tạo danh mục  thành công';
                $this->session->set_userdata(array('success_msg' => 'Tạo danh mục mới thành công'));
                redirect(current_url());
            } else {
                $data['error_msg'] = 'Tạo danh mục không thành công. Kiểm tra lại nội dung';
            }
        }

        $this->load->view('tp-admin/template', $data);
    }

    function update_category() {

        $id = $this->uri->segment(4);
        $category = $this->category_model->getCategoryByID($id);
        $data['category'] = $category;
        $data['subtitle'] = 'Cập nhật danh mục';
        $data['site'] = 'tp-admin/site/category/category-update';
        if ($this->input->post('submit') && $this->check_validation()) {
            $info = $this->post_input();
            $info['category_is_delete'] = 0;
            $info['category_id'] = generate_number_code(8);
            $info['category_name_segment'] = utf8_to_ascii($info['category_name'], '-');
            $info['category_tag'] = replace_space_to_dash($info['category_name'], ', ') . ', ' . replace_space_to_dash($info['category_name_segment'], ', ');
            $info['category_date'] = date('Y-m-d H:i:s');
            if ($this->category_model->updateCategory($info, $id)) {
                $this->session->set_userdata(array('success_msg' => 'Cập nhật danh mục thành công'));
                redirect(current_url());
            } else {
                $data['error_msg'] = 'Tên danh mục &quot;' . $info['category_name'] . '&quot; đã tồn tại';
            }
        }

        $this->load->view('tp-admin/template', $data);
    }

    function delete_category() {
      
        $id = $this->uri->segment(4);
        $this->category_model->deleteCategory($id);
        redirect(HOME_PAGE.ADMIN_PAGE."admin_category");
    }

    function post_input() {
        $info = array(
            'category_name' => $this->input->post('category_name'),
            'category_order' => $this->input->post('category_order'),
            'category_display_state' => $this->input->post('category_display_state')
        );
        return $info;
    }

    function check_validation() {
        $check_validation = array(
            array(
                'field' => 'category_name',
                'label' => 'Tên danh mục',
                'rules' => 'trim|required'
            ),
            array(
                'field' => 'category_order',
                'label' => 'Thứ tự sắp xếp',
                'rules' => 'trim|required|integer|greater_than[0]'
            )
        );
        $this->form_validation->set_rules($check_validation);
        return $this->form_validation->run();
    }

}

?>
